/**
 * FileName: StompSender
 * Author: Mr.Wang
 * Date: 2025/10/16 13:59
 * Description:
 * History:
 */
package org.test.device.config;

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.simp.SimpMessageSendingOperations;
import org.springframework.stereotype.Component;
import org.test.device.utils.ResultData;

/**
 * 〈一句话功能简述〉<br>
 * 〈〉
 *
 * @author Mr.Wang
 * @create 2025/10/16
 * @since 1.0.0
 */
@Slf4j
@Component
public class StompSender {

    @Autowired
    private SimpMessageSendingOperations messagingTemplate;

    /**
     * 推送设备处理结果到指定用户的订阅主题
     * @param userId 用户ID（用于区分不同用户的主题）
     * @param result 处理结果
     */
    public void sendToUser(String userId, ResultData result) {
        // 推送路径格式：/topic/deviceResult/{userId}（前端需订阅对应路径）
        String destination = "/topic/deviceResult/" + userId;
        messagingTemplate.convertAndSend(destination, result);
        log.info("已推送结果到主题[{}]：{}", destination, result);
    }
}